// SET_TRUE: ALLOW_TRAILING_COMMA

fun foo() {
    testtest[
        foofoo, foofoo, foofoo,
        foofoo, bar,
    ]

    testtest[
        foofoo, foofoo, foofoo, foofoo, bar,
    ]

    testtest[
        foofoo, foofoo, foofoo, foofoo, bar,
    ]

    testtest[
        foofoo, foofoo, foofoo, foofoo,
        bar,
    ]

    testtest[
        foofoo,
    ]

    testtest[
        foofoo,
    ]

    testtest[
        foofoo,
    ]

    testtest[foofoo]

    testtest[foofoo, testtest[testtest[foofoo]]]

    testtest[
        foofoo, fososos,
        testtest[testtest[foofoo]],
    ]

    testtest[foofoo, testtest[testtest[foofoo]], testsa]

    testtest[foofoo, seee, testtest[testtest[foofoo]], testsa]

    useCallable["A", Callable { println["Hello world"] }]

    useCallable[
        "B", "C",
        Callable {
            println["Hello world"]
        },
        Callable {
            println["Hello world"]
        },
    ]

    useCallable[Callable { println["Hello world"] }]

    useCallable[Callable { println["Hello world"] }]

    useCallable[
        Callable {
            println["Hello world"]
        },
    ]

    useCallable[
        Callable { println["Hello world"] },
    ]

    useCallable[Callable { println["Hello world"] }]{

    }

    useCallable[
        Callable { println["Hello world"] },
    ]

    useCallable["A", { println["Hello world"] }]

    useCallable[
        "B", "C",
        {
            println["Hello world"]
        },
        {
            println["Hello world"]
        },
    ]

    useCallable[{ println["Hello world"] }]

    useCallable[{ println["Hello world"] }]

    useCallable[
        { println["Hello world"] },
    ]

    useCallable[
        { println["Hello world"] },
    ]

    useCallable[
        { println["Hello world"] },
    ]

    useCallable[
        "A",
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
    ]

    useCallable[
        "A",
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
    ]

    useCallable[
        "B", "C",
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
        foo[0],
    ]

    useCallable[
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
    ]

    useCallable[
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
    ]

    useCallable[
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
    ]

    useCallable[
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
    ] {

    }

    useCallable[
        object : Callable<Unit> {
            override fun call() {
                println["Hello world"]
            }
        },
    ]

    testtest[
        foofoo, foofoo, foofoo, foofoo,
        bar,
        /*
    */
        /* */ foo,
    ]

    testtest[
        /*
    */
        foofoo, foofoo, foofoo,
        /*

    */
        foofoo, bar,
    ]

    testtest[
        foofoo, foofoo, foofoo, foofoo, bar,
        /*
    */
    ]

    testtest[
        foofoo, foofoo, foofoo, foofoo, bar, // awdawda
    ]

    testtest[
        foofoo, foofoo, foofoo, foofoo,
        /*

    */
        bar,
    ]

    testtest[
        foofoo, // fd
    ]

    testtest[
        /**/
        foofoo,
    ]

    testtest[foofoo/**/]

    testtest[
        foofoo, foofoo, foofoo, foofoo,
        /*
     */
        /* */ bar,
    ]

    testtest[
        foofoo, // fd
    ]

    testtest[
        /**/
        foofoo,
    ]

    testtest[foofoo/**/]

    testtest[
        foofoo, fososos,
        /*
    */
        testtest[testtest[foofoo]],
    ]

    testtest[foofoo, testtest[testtest[foofoo]], /**/testsa]

    testtest[foofoo, testtest[testtest[foofoo]]/* */, /**/testsa]

    testtest[
        foofoo, testtest[testtest[foofoo]],
        /*
    */
        testsa,
    ]

    testtest[foofoo, seee, testtest[testtest[foofoo]], /**/testsa]

    testtest[
        foofoo, seee, testtest[testtest[foofoo]],
        /*
    */
        testsa,
    ]

    useCallable[
        "B", "C",
        Callable {
            println["Hello world"]
        },
        /* */
        Callable {
            println["Hello world"]
        },
    ]

    useCallable[
        Callable { println["Hello world"] }, // ffd
    ]
}
